package com.softeem.yuedong_server.dto;

import lombok.Data;
import lombok.experimental.Accessors;

import java.util.Objects;

/*
* 统一返回结果DTO（Data Tranfer Object：数据传输对象）*/
@Data
@Accessors(chain = true) //开启链式编程
public class Result {

    /*
    * 状态码 例如：0-成功
    */
    private Integer code;

    /*是否执行成功 true:是 false:否*/
    private boolean success;

    /* 文本提示信息 例如：操作成功*/
    private String msg;

    /*附加返回结果集，一个对象或一个集合，例如：歌曲列表*/
    private Object data;

    /*如果返回的是结果集，表示集合数据总条数（为前端分页提供支持）*/
    private Long count;

    /*统一成功方法*/
    public static Result ok(){
        Result r = new Result();
        r.code = 0;
        r.success = true;
        r.setMsg("操作成功");
        return r;
    }
    /*统一失败方法*/
    public static Result fail(){
        Result r = new Result();
        r.code = -1;
        r.success = false;
        r.setMsg("操作失败");
        return r;
    }
}
